from core.basic.skill import 技能
from core.basic.character import Character
from core.basic.skill import 主动技能, 被动技能

# class 主动技能(主动技能):
#     # 2023.11.16,国服特色加强
#     国服特色 = 1.07

class 技能0(被动技能):
    名称 = '基础精通'
    倍率 = 1.0
    所在等级 = 1
    等级上限 = 200
    等级精通 = 110
    关联技能 = ['鬼缚钉']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(self.倍率 * (0.463 + 0.089 * self.等级), 5)


class 技能1(主动技能):
    名称 = "双重斩"
    所在等级 = 1
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 4
    MP = [20, 250]
    无色消耗 = 0
    data0 = [0, 769, 847, 925, 1003, 1082, 1160, 1236, 1314, 1393, 1471, 1549, 1627, 1706, 1783, 1862, 1940, 2017, 2097, 2174, 2252, 2331, 2408, 2487, 2564, 2642, 2721, 2797, 2877, 2954, 3032, 3110, 3188, 3267, 3345, 3423, 3501, 3578, 3658, 3736, 3813, 3892, 3968, 4047, 4125, 4203, 4281, 4359, 4438, 4516, 4594, 4672, 4749, 4829, 4907, 4984, 5062, 5140, 5218, 5297, 5374, 5452, 5530, 5607, 5687, 5764, 5842, 5921, 5998, 6077, 6155]
    hit0 = 2
    TP成长 = 0.1
    TP上限 = 7


class 技能2(主动技能):
    名称 = "鬼缚钉"
    所在等级 = 5
    等级上限 = 1
    学习间隔 = 2
    等级精通 = 1
    CD = 7
    MP = [75, 75]
    无色消耗 = 0
    data0 = [0, 487]
    hit0 = 1
    data1 = [0, 1135]
    hit1 = 1
    TP成长 = 0.1
    TP上限 = 5

    国服特色 = 1.06542


class 技能3(主动技能):
    名称 = "冲击斩"
    所在等级 = 10
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 5
    MP = [30, 252]
    无色消耗 = 0
    data0 = [0, 2590, 2854, 3116, 3379, 3642, 3906, 4168, 4430, 4694, 4956, 5219, 5483, 5745, 6008, 6271, 6533, 6796, 7059, 7323, 7585, 7848, 8111, 8374, 8637, 8899, 9162, 9425, 9688, 9951, 10214, 10477, 10740, 11003, 11265, 11528, 11790, 12054, 12317, 12580, 12843, 13106, 13369, 13630, 13894, 14157, 14419, 14683, 14946, 15209, 15471, 15734, 15997, 16259, 16523, 16786, 17048, 17311, 17575, 17836, 18099, 18363, 18626, 18888, 19152, 19415, 19677, 19940, 20204, 20465, 20728]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 7

    国服特色 = 1.065


class 技能4(主动技能):
    名称 = "回旋勾斩"
    所在等级 = 15
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 8
    MP = [60, 560]
    无色消耗 = 0
    data0 = [0, 1225, 1352, 1475, 1600, 1724, 1848, 1972, 2097, 2221, 2347, 2472, 2595, 2720, 2843, 2969, 3093, 3217, 3342, 3467, 3591, 3714, 3841, 3964, 4089, 4212, 4337, 4462, 4586, 4710, 4836, 4960, 5083, 5209, 5332, 5459, 5582, 5707, 5832, 5955, 6078, 6204, 6329, 6453, 6578, 6702, 6826, 6950, 7075, 7201, 7324, 7449, 7574, 7698, 7821, 7947, 8072, 8195, 8319, 8445, 8570, 8693, 8818, 8943, 9067, 9190, 9315, 9440, 9565, 9690, 9813]
    hit0 = 1
    data1 = [0, 3032, 3339, 3646, 3955, 4261, 4569, 4879, 5184, 5493, 5801, 6107, 6416, 6723, 7030, 7338, 7648, 7954, 8261, 8570, 8876, 9185, 9491, 9798, 10107, 10414, 10722, 11029, 11337, 11644, 11953, 12262, 12567, 12876, 13182, 13490, 13799, 14104, 14413, 14721, 15029, 15337, 15644, 15951, 16259, 16568, 16873, 17181, 17490, 17796, 18105, 18412, 18719, 19028, 19336, 19643, 19950, 20259, 20565, 20873, 21182, 21487, 21796, 22105, 22412, 22719, 23027, 23334, 23642, 23951, 24256]
    hit1 = 1
    TP成长 = 0.1
    TP上限 = 7

    国服特色 = 1.065


class 技能5(主动技能):
    名称 = "封喉丝"
    所在等级 = 20
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 8
    MP = [46, 380]
    无色消耗 = 0
    data0 = [0, 5097, 5612, 6130, 6647, 7164, 7681, 8199, 8717, 9232, 9748, 10267, 10783, 11300, 11817, 12335, 12852, 13369, 13887, 14403, 14921, 15437, 15954, 16471, 16988, 17505, 18023, 18539, 19055, 19573, 20091, 20608, 21123, 21642, 22159, 22676, 23194, 23710, 24226, 24743, 25262, 25777, 26294, 26812, 27330, 27847, 28362, 28881, 29397, 29914, 30431, 30948, 31466, 31983, 32499, 33017, 33533, 34051, 34568, 35085, 35602, 36118, 36637, 37154, 37669, 38187, 38704, 39221, 39738, 40255, 40773]
    hit0 = 0
    data1 = [0, 6517, 7179, 7842, 8502, 9163, 9825, 10486, 11147, 11809, 12471, 13132, 13793, 14454, 15115, 15777, 16438, 17099, 17759, 18421, 19082, 19744, 20405, 21065, 21727, 22388, 23051, 23712, 24373, 25035, 25694, 26356, 27018, 27678, 28341, 29003, 29662, 30324, 30986, 31646, 32308, 32971, 33630, 34292, 34954, 35614, 36276, 36938, 37597, 38260, 38922, 39583, 40244, 40906, 41567, 42227, 42890, 43551, 44212, 44874, 45535, 46195, 46857, 47518, 48180, 48842, 49503, 50163, 50825, 51486, 52147]
    hit1 = 1
    TP成长 = 0.1
    TP上限 = 7

    国服特色 = 1.065

    形态 = ["抓取", "非抓"]

    def 形态变更(self, 形态, char):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "抓取":
            self.hit0 = 1
            self.hit1 = 0
        if 形态 == "非抓":
            self.hit0 = 0
            self.hit1 = 1


class 技能6(被动技能):
    名称 = '孤勇之志'
    所在等级 = 20
    等级上限 = 20
    基础等级 = 10

    def 独立攻击力倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.14 + 0.02 * self.等级, 5)


class 技能7(主动技能):
    名称 = "利刃旋风"
    所在等级 = 25
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 6
    MP = [35, 300]
    无色消耗 = 0
    data0 = [0, 989, 1089, 1189, 1290, 1390, 1491, 1589, 1691, 1790, 1891, 1990, 2092, 2191, 2292, 2393, 2493, 2594, 2694, 2795, 2895, 2996, 3096, 3197, 3297, 3397, 3498, 3598, 3698, 3799, 3899, 3999, 4098, 4199, 4299, 4400, 4499, 4601, 4701, 4801, 4901, 5002, 5102, 5202, 5303, 5404, 5504, 5604, 5705, 5805, 5905, 6004, 6105, 6205, 6306, 6405, 6507, 6606, 6707, 6807, 6908, 7007, 7108, 7210, 7309, 7409, 7509, 7611, 7710, 7811, 7912]
    hit0 = 1
    data1 = [0, 1450, 1598, 1744, 1891, 2038, 2186, 2333, 2479, 2627, 2775, 2921, 3068, 3215, 3363, 3510, 3657, 3803, 3950, 4097, 4246, 4391, 4539, 4686, 4834, 4980, 5127, 5274, 5423, 5568, 5716, 5863, 6011, 6158, 6304, 6452, 6600, 6746, 6893, 7041, 7188, 7335, 7481, 7629, 7777, 7923, 8070, 8218, 8365, 8511, 8660, 8805, 8953, 9099, 9248, 9394, 9541, 9688, 9837, 9982, 10130, 10276, 10425, 10571, 10718, 10865, 11014, 11159, 11307, 11454, 11602]
    hit1 = 1
    data2 = [0, 477, 525, 572, 622, 669, 717, 766, 813, 862, 911, 958, 1008, 1056, 1103, 1152, 1199, 1249, 1297, 1344, 1393, 1442, 1491, 1540, 1588, 1636, 1684, 1732, 1780, 1829, 1877, 1926, 1974, 2022, 2070, 2120, 2167, 2215, 2263, 2311, 2361, 2409, 2457, 2506, 2553, 2601, 2650, 2697, 2747, 2795, 2842, 2892, 2939, 2990, 3038, 3085, 3134, 3182, 3229, 3280, 3327, 3376, 3424, 3471, 3520, 3568, 3617, 3665, 3713, 3762, 3810]
    hit2 = 5
    TP成长 = 0.1
    TP上限 = 7

    国服特色 = 1.065


class 技能8(主动技能):
    名称 = "白牙落斩"
    所在等级 = 25
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 10
    MP = [44, 375]
    无色消耗 = 0
    data0 = [0, 7124, 7847, 8570, 9294, 10015, 10737, 11462, 12183, 12907, 13629, 14352, 15075, 15796, 16519, 17243, 17964, 18688, 19411, 20133, 20856, 21579, 22302, 23024, 23748, 24470, 25194, 25915, 26638, 27362, 28083, 28807, 29530, 30252, 30975, 31699, 32421, 33144, 33866, 34590, 35312, 36033, 36758, 37480, 38203, 38926, 39650, 40371, 41094, 41818, 42540, 43263, 43986, 44709, 45431, 46153, 46877, 47600, 48320, 49045, 49767, 50490, 51212, 51936, 52658, 53380, 54103, 54826, 55550, 56271, 56995]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 7

    国服特色 = 1.065


class 技能9(主动技能):
    名称 = "疾刃之影"
    所在等级 = 30
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 8
    MP = [61, 640]
    无色消耗 = 0
    data0 = [0, 6183, 6809, 7436, 8065, 8691, 9318, 9946, 10573, 11201, 11827, 12455, 13081, 13710, 14336, 14964, 15591, 16218, 16846, 17472, 18099, 18728, 19355, 19982, 20608, 21237, 21863, 22491, 23118, 23746, 24373, 24999, 25626, 26254, 26882, 27509, 28136, 28763, 29390, 30017, 30645, 31271, 31900, 32527, 33154, 33780, 34408, 35036, 35663, 36290, 36917, 37545, 38172, 38798, 39427, 40053, 40680, 41307, 41936, 42563, 43189, 43818, 44445, 45072, 45698, 46326, 46953, 47580, 48207, 48834, 49461]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 7

    国服特色 = 1.065


class 技能10(主动技能):
    名称 = "薄暮利刃"
    所在等级 = 30
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 9
    MP = [70, 700]
    无色消耗 = 0
    data0 = [0, 1424, 1570, 1714, 1859, 2003, 2146, 2291, 2435, 2581, 2725, 2870, 3014, 3159, 3303, 3448, 3592, 3736, 3881, 4025, 4170, 4314, 4459, 4604, 4749, 4893, 5036, 5181, 5325, 5470, 5615, 5760, 5904, 6049, 6192, 6337, 6481, 6627, 6771, 6915, 7060, 7204, 7349, 7494, 7639, 7782, 7927, 8071, 8215, 8360, 8505, 8650, 8794, 8938, 9082, 9227, 9371, 9516, 9661, 9805, 9950, 10094, 10239, 10383, 10527, 10672, 10817, 10961, 11106, 11250, 11394]
    hit0 = 5
    TP成长 = 0.1
    TP上限 = 7

    国服特色 = 1.065


class 技能11(主动技能):
    名称 = "黑夜之花"
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 14
    MP = [156, 822]
    无色消耗 = 0
    data0 = [0, 745, 821, 896, 973, 1048, 1124, 1199, 1273, 1351, 1426, 1502, 1577, 1652, 1728, 1805, 1879, 1956, 2030, 2107, 2182, 2258, 2334, 2409, 2485, 2561, 2635, 2713, 2787, 2864, 2939, 3014, 3090, 3167, 3241, 3318, 3392, 3469, 3543, 3620, 3696, 3771, 3847, 3921, 3998, 4075, 4149, 4224, 4301, 4375, 4453, 4527, 4603, 4679, 4754, 4830, 4906, 4981, 5058, 5132, 5209, 5283, 5360, 5436, 5511, 5586, 5662, 5737, 5815, 5889, 5965]
    hit0 = 5
    data1 = [0, 1589, 1751, 1912, 2073, 2233, 2395, 2556, 2717, 2879, 3039, 3201, 3363, 3524, 3685, 3847, 4009, 4171, 4331, 4493, 4654, 4815, 4977, 5138, 5298, 5459, 5621, 5782, 5943, 6105, 6265, 6427, 6588, 6750, 6911, 7072, 7234, 7394, 7556, 7718, 7878, 8040, 8200, 8362, 8523, 8685, 8847, 9007, 9169, 9331, 9491, 9653, 9814, 9976, 10137, 10298, 10460, 10620, 10782, 10943, 11103, 11265, 11426, 11588, 11748, 11910, 12072, 12232, 12394, 12555, 12716]
    hit1 = 1
    data2 = [0, 5325, 5867, 6407, 6947, 7487, 8027, 8567, 9109, 9649, 10189, 10729, 11269, 11811, 12351, 12890, 13430, 13971, 14512, 15052, 15592, 16132, 16673, 17214, 17754, 18293, 18833, 19374, 19915, 20455, 20995, 21536, 22076, 22617, 23157, 23697, 24237, 24777, 25318, 25858, 26400, 26940, 27480, 28021, 28561, 29101, 29641, 30181, 30721, 31262, 31803, 32343, 32883, 33423, 33965, 34505, 35044, 35584, 36124, 36666, 37206, 37746, 38286, 38827, 39368, 39908, 40447, 40987, 41528, 42069, 42609]
    hit2 = 1
    TP成长 = 0.1
    TP上限 = 5

    国服特色 = 1.065


class 技能12(主动技能):
    名称 = "回旋十字斩"
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 16
    MP = [179, 940]
    无色消耗 = 1
    data0 = [0, 831, 914, 1000, 1083, 1167, 1251, 1335, 1420, 1504, 1588, 1673, 1758, 1842, 1927, 2010, 2095, 2179, 2263, 2346, 2431, 2516, 2600, 2684, 2768, 2853, 2937, 3020, 3106, 3191, 3275, 3359, 3443, 3527, 3611, 3695, 3780, 3864, 3949, 4033, 4116, 4201, 4285, 4371, 4454, 4539, 4623, 4708, 4792, 4875, 4959, 5044, 5129, 5212, 5297, 5381, 5466, 5549, 5634, 5718, 5804, 5887, 5972, 6056, 6140, 6224, 6307, 6392, 6477, 6562, 6645]
    hit0 = 5
    data1 = [0, 7018, 7730, 8442, 9155, 9866, 10579, 11290, 12002, 12714, 13426, 14137, 14850, 15563, 16273, 16986, 17698, 18411, 19121, 19834, 20547, 21257, 21971, 22682, 23394, 24106, 24818, 25530, 26243, 26954, 27666, 28379, 29089, 29802, 30515, 31227, 31938, 32650, 33363, 34073, 34787, 35499, 36210, 36924, 37634, 38347, 39059, 39770, 40483, 41195, 41907, 42618, 43331, 44043, 44754, 45467, 46179, 46891, 47603, 48315, 49026, 49740, 50450, 51163, 51876, 52586, 53299, 54011, 54723, 55434, 56147]
    hit1 = 1
    TP成长 = 0.1
    TP上限 = 5

    国服特色 = 1.065

    是否有护石 = 1

    形态 = ["地面", "空中"]

    def 形态变更(self, 形态, char: Character):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "空中":
            if '回旋十字斩' in char.护石栏:
                self.hit0 = 0
                self.hit1 = 1
                self.power1 = 2.21
            else:
                形态 = "地面"
        if 形态 == "地面":
            self.hit0 = 5
            self.hit1 = 1
            if '回旋十字斩' in char.护石栏:
                self.hit1 = 0
                self.power0 = 3.51

    def 装备护石(self, char):
        self.hit1 = 0
        self.power1 = 3.51


class 技能13(被动技能):
    名称 = '刃之决意'
    所在等级 = 35
    等级上限 = 60
    基础等级 = 10

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1 + 0.02 * self.等级, 5)


class 技能14(主动技能):
    名称 = "夜之风"
    所在等级 = 40
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 20
    MP = [235, 1974]
    无色消耗 = 1
    data0 = [0, 4829, 5319, 5809, 6299, 6790, 7279, 7768, 8259, 8749, 9238, 9729, 10219, 10709, 11198, 11689, 12177, 12667, 13159, 13649, 14138, 14628, 15118, 15609, 16098, 16588, 17078, 17568, 18059, 18548, 19039, 19527, 20017, 20508, 20998, 21488, 21977, 22468, 22957, 23447, 23938, 24427, 24917, 25408, 25898, 26386, 26877, 27367, 27857, 28348, 28837, 29326, 29818, 30307, 30797, 31286, 31777, 32268, 32756, 33247, 33736, 34226, 34717, 35207, 35697, 36186, 36676, 37165, 37657, 38146, 38636]
    hit0 = 3
    TP成长 = 0.1
    TP上限 = 5

    国服特色 = 1.065

    是否有护石 = 1

    def 装备护石(self, char):
        self.hit0 = 1
        self.power0 = 4.05


class 技能15(主动技能):
    名称 = "秘术·心斩"
    所在等级 = 45
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 40
    MP = [250, 2503]
    无色消耗 = 2
    data0 = [0, 27700, 30511, 33321, 36131, 38941, 41752, 44562, 47371, 50182, 52993, 55802, 58613, 61423, 64233, 67043, 69854, 72664, 75475, 78285, 81095, 83905, 86715, 89524, 92334, 95146, 97957, 100766, 103577, 106387, 109196, 112007, 114818, 117628, 120439, 123249, 126058, 128868, 131678, 134488, 137298, 140110, 142919, 145730, 148540, 151350, 154160, 156971, 159781, 162592, 165402, 168212, 171021, 173832, 176642, 179452, 182262, 185074, 187883, 190694, 193504, 196314, 199124, 201935, 204744, 207555, 210365, 213176, 215985, 218796, 221606]
    hit0 = 1
    TP成长 = 0.1
    TP上限 = 5

    国服特色 = 1.064

    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.30
        self.CDR *= 0.9


class 技能16(被动技能):
    名称 = '收刀秘术'
    所在等级 = 48
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.03 + 0.015 * self.等级, 5)


class 技能17(主动技能):
    名称 = "沉寂之狱"
    所在等级 = 50
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 145
    MP = [900, 7559]
    无色消耗 = 5
    data0 = [0, 24842, 30603, 36362, 42124, 47885, 53644, 59406, 65166, 70926, 76688, 82448, 88208, 93970, 99730, 105489, 111251, 117012, 122773, 128533, 134294, 140053, 145815, 151575, 157336, 163097, 168857, 174618, 180378, 186139, 191900, 197660, 203421, 209181, 214943, 220702, 226464, 232224, 237983, 243745, 249505, 255267, 261026, 266787, 272548, 278308, 284068, 289829, 295591, 301350, 307111]
    hit0 = 1
    data1 = [0, 52666, 64878, 77092, 89303, 101515, 113728, 125940, 138153, 150367, 162577, 174791, 187002, 199216, 211427, 223640, 235853, 248065, 260277, 272490, 284703, 296916, 309128, 321341, 333551, 345765, 357977, 370190, 382403, 394616, 406827, 419039, 431253, 443463, 455677, 467890, 480101, 492314, 504527, 516739, 528953, 541165, 553377, 565588, 577802, 590014, 602227, 614440, 626652, 638864, 651076]
    hit1 = 1

    国服特色 = 1.066

    def 等效百分比(self, **argv):
        if self.等级 >= 9:
            return super().等效百分比(**argv) * 1.1
        return super().等效百分比(**argv)


class 技能18(主动技能):
    名称 = "瞬影碎魂击"
    所在等级 = 60
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 25
    MP = [280, 784]
    无色消耗 = 1
    data0 = [0, 4792, 5278, 5764, 6251, 6737, 7223, 7709, 8196, 8681, 9168, 9655, 10141, 10626, 11113, 11599, 12085, 12571, 13058, 13543, 14030, 14516, 15001, 15489, 15975, 16462, 16947, 17434, 17920, 18405, 18892, 19378, 19864, 20350, 20837, 21324, 21809, 22296, 22782, 23268, 23754, 24241, 24726, 25213, 25699, 26184, 26672, 27157, 27645, 28129, 28617]
    hit0 = 1
    data1 = [0, 2244, 2471, 2699, 2927, 3153, 3382, 3608, 3837, 4063, 4292, 4521, 4747, 4976, 5202, 5431, 5657, 5886, 6113, 6341, 6570, 6796, 7023, 7250, 7479, 7706, 7934, 8163, 8390, 8616, 8844, 9073, 9300, 9528, 9756, 9984, 10210, 10438, 10665, 10894, 11121, 11348, 11577, 11804, 12032, 12259, 12487, 12714, 12942, 13171, 13397]
    hit1 = 3
    data2 = [0, 11219, 12356, 13495, 14633, 15771, 16911, 18048, 19186, 20324, 21461, 22601, 23737, 24877, 26016, 27154, 28292, 29429, 30568, 31706, 32845, 33981, 35121, 36260, 37397, 38537, 39673, 40812, 41950, 43088, 44226, 45364, 46503, 47642, 48779, 49917, 51056, 52194, 53332, 54470, 55607, 56747, 57885, 59023, 60161, 61300, 62438, 63574, 64713, 65852, 66991]
    hit2 = 1
    TP成长 = 0.1
    TP上限 = 5

    国服特色 = 1.065

    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.24
        self.CDR *= 0.8


class 技能19(主动技能):
    名称 = "追命索魂丝"
    所在等级 = 70
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 50
    MP = [756, 1587]
    无色消耗 = 2
    data0 = [0, 31824, 35052, 38281, 41509, 44738, 47967, 51197, 54424, 57651, 60881, 64109, 67337, 70567, 73796, 77024, 80251, 83480, 86708, 89939, 93166, 96395, 99623, 102853, 106081, 109308, 112537, 115766, 118995, 122223, 125451, 128680, 131909, 135138, 138366, 141595, 144823, 148050, 151280, 154508, 157738, 160967, 164195, 167422, 170652, 173879, 177107, 180338, 183566, 186795, 190023]
    hit0 = 1
    data1 = [0, 13638, 15022, 16405, 17789, 19173, 20556, 21940, 23323, 24708, 26092, 27476, 28860, 30242, 31626, 33011, 34394, 35776, 37161, 38544, 39928, 41310, 42695, 44079, 45462, 46847, 48229, 49613, 50997, 52381, 53766, 55147, 56532, 57917, 59300, 60683, 62068, 63451, 64834, 66218, 67601, 68985, 70368, 71753, 73135, 74519, 75903, 77287, 78671, 80054, 81438]
    hit1 = 1
    TP成长 = 0.1
    TP上限 = 5

    国服特色 = 1.065


    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.27


class 技能20(被动技能):
    名称 = '无情夜行'
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    关联技能 = ['所有']

    冷却关联技能 = ['所有']
    非冷却关联技能 = ['沉寂之狱', '黑曜真刃·破晓', '秘术·雨夜终曲']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.22 + 0.02 * self.等级, 5)

    def CD缩减倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return 0.9


class 技能21(主动技能):
    名称 = "秘术·曜夜斩"
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 40
    MP = [580, 4500]
    无色消耗 = 3
    data0 = [0, 67207, 74025, 80845, 87662, 94481, 101299, 108117, 114935, 121754, 128572, 135390, 142208, 149026, 155845, 162663, 169481, 176299, 183117, 189935, 196754, 203571, 210390, 217207, 224027, 230844, 237663, 244481, 251301, 258118, 264937, 271754, 278574, 285391, 292210, 299027, 305846, 312664, 319483, 326300, 333117, 339936, 346754, 353573, 360390, 367209, 374026, 380846, 387663, 394482, 401299]
    hit0 = 1

    是否有护石 = 1

    国服特色 = 1.064


    形态 = ["收刀", "不收"]

    def 形态变更(self, 形态, char: Character):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "收刀" and '秘术·曜夜斩' in char.护石栏:
            self.power0 = 1.05
        else:
            self.power0 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.34


class 技能22(主动技能):
    名称 = "悬丝风暴"
    所在等级 = 80
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 50
    MP = [800, 1700]
    无色消耗 = 5
    data0 = [0, 9646, 10623, 11603, 12581, 13559, 14537, 15516, 16495, 17472, 18452, 19431, 20410, 21388, 22365, 23346, 24323, 25302, 26280, 27259, 28237, 29215, 30194, 31174, 32152, 33130, 34110, 35088, 36066, 37044, 38022, 39001, 39980, 40958, 41937, 42917, 43893, 44874, 45852, 46830, 47809, 48786, 49766, 50744, 51723, 52700, 53679, 54658, 55635, 56616, 57594]
    hit0 = 1
    data1 = [0, 14468, 15935, 17402, 18872, 20339, 21808, 23275, 24742, 26210, 27679, 29147, 30614, 32082, 33550, 35018, 36485, 37954, 39421, 40889, 42356, 43823, 45292, 46760, 48229, 49696, 51163, 52631, 54098, 55565, 57035, 58502, 59971, 61438, 62905, 64373, 65842, 67311, 68778, 70245, 71713, 73181, 74649, 76117, 77584, 79052, 80519, 81987, 83456, 84924, 86392]
    hit1 = 1
    data2 = [0, 26632, 29336, 32037, 34740, 37442, 40143, 42847, 45548, 48251, 50953, 53653, 56356, 59057, 61761, 64463, 67164, 69867, 72569, 75272, 77974, 80673, 83376, 86078, 88780, 91482, 94184, 96887, 99589, 102291, 104993, 107694, 110397, 113099, 115801, 118503, 121205, 123908, 126610, 129312, 132014, 134714, 137416, 140118, 142821, 145523, 148225, 150927, 153629, 156332, 159034]
    hit2 = 1
    data3 = [0, 2772, 3052, 3332, 3616, 3896, 4176, 4459, 4739, 5019, 5302, 5583, 5863, 6145, 6426, 6706, 6988, 7269, 7551, 7832, 8112, 8394, 8675, 8955, 9237, 9520, 9800, 10081, 10363, 10644, 10925, 11207, 11487, 11768, 12049, 12330, 12612, 12893, 13174, 13455, 13736, 14017, 14299, 14580, 14860, 15142, 15423, 15703, 15986, 16267, 16547]
    hit3 = 14

    是否有护石 = 1

    国服特色 = 1.064

    def 装备护石(self, char):
        self.倍率 *= 1.29
        self.CDR *= 0.9


class 技能23(主动技能):
    名称 = "黑曜真刃·破晓"
    所在等级 = 85
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 180
    MP = [2500, 5000]
    无色消耗 = 10
    data0 = [0, 65802, 81057, 96317, 111574, 126834, 142092, 157348, 172608, 187865, 203125, 218383, 233639, 248899, 264156, 279416, 294673, 309930, 325190, 340447, 355707, 370962, 386221, 401480, 416738, 431998, 447253, 462513, 477771, 493029, 508288, 523544, 538804, 554062, 569320, 584578, 599835, 615095, 630353, 645611, 660869, 676126, 691386, 706644, 721901, 737160, 752417, 767677, 782934, 798192, 813451]
    hit0 = 3

    国服特色 = 1.066


class 技能24(被动技能):
    名称 = '夜色杀意'
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class 技能25(主动技能):
    名称 = "绚烂之舞"
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 60
    MP = [960, 7200]
    无色消耗 = 7
    data0 = [0, 15224, 16768, 18313, 19856, 21401, 22946, 24489, 26033, 27578, 29121, 30667, 32213, 33756, 35301, 36845, 38389, 39934, 41477, 43024, 44568, 46112, 47656, 49201, 50743, 52288, 53835, 55378, 56923, 58467, 60011, 61556, 63101, 64645, 66189, 67733, 69278, 70823, 72367, 73912, 75457, 77000, 78544, 80088, 81632, 83178, 84723, 86267, 87811, 89355, 90899]
    hit0 = 1
    data1 = [0, 5329, 5870, 6410, 6951, 7491, 8032, 8572, 9109, 9651, 10193, 10732, 11274, 11813, 12355, 12894, 13436, 13978, 14518, 15059, 15599, 16140, 16679, 17219, 17760, 18302, 18842, 19383, 19922, 20462, 21004, 21543, 22085, 22626, 23167, 23707, 24248, 24786, 25328, 25867, 26409, 26951, 27491, 28032, 28572, 29113, 29653, 30194, 30734, 31276, 31815]
    hit1 = 10
    data2 = [0, 22834, 25152, 27468, 29785, 32100, 34418, 36735, 39051, 41368, 43684, 46003, 48319, 50634, 52951, 55267, 57586, 59902, 62218, 64535, 66851, 69168, 71485, 73802, 76118, 78435, 80751, 83066, 85383, 87701, 90017, 92334, 94650, 96967, 99284, 101601, 103917, 106233, 108551, 110867, 113185, 115500, 117816, 120134, 122450, 124768, 127084, 129402, 131717, 134033, 136350]
    hit2 = 1
    data3 = [0, 60894, 67072, 73249, 79427, 85605, 91784, 97960, 104137, 110316, 116493, 122671, 128848, 135027, 141204, 147381, 153560, 159737, 165916, 172093, 178270, 184449, 190626, 196805, 202980, 209159, 215336, 221514, 227693, 233869, 240048, 246224, 252404, 258581, 264758, 270936, 277114, 283292, 289468, 295647, 301826, 308002, 314179, 320358, 326535, 332713, 338890, 345069, 351246, 357425, 363602]
    hit3 = 1

    国服特色 = 1.066


class 技能26(主动技能):
    名称 = "秘术·雨夜终曲"
    所在等级 = 100
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 290
    MP = [4027, 8055]
    无色消耗 = 15
    data0 = [0, 48493, 59738, 70982, 82228, 93472, 104718, 115962, 127206, 138452, 149697, 160941, 172186, 183431, 194675, 205922, 217165, 228411, 239655, 250900, 262146, 273390, 284634, 295880, 307124, 318371, 329614, 340858, 352104, 363348, 374594, 385839, 397083, 408327, 419573, 430818, 442064, 453307, 464552, 475797, 487043, 498287, 509531, 520776, 532020, 543267, 554511, 565756, 577000, 588245, 599491]
    hit0 = 1
    data1 = [0, 169726, 209084, 248441, 287798, 327155, 366511, 405867, 445226, 484582, 523938, 563297, 602654, 642010, 681367, 720724, 760080, 799439, 838796, 878152, 917509, 956865, 996223, 1035580, 1074936, 1114294, 1153652, 1193008, 1232364, 1271722, 1311078, 1350434, 1389794, 1429150, 1468506, 1507863, 1547221, 1586577, 1625934, 1665292, 1704648, 1744006, 1783363, 1822719, 1862076, 1901432, 1940791, 1980148, 2019504, 2058860, 2098219]
    hit1 = 1
    data2 = [0, 315207, 388298, 461389, 534480, 607573, 680665, 753756, 826847, 899938, 973031, 1046121, 1119214, 1192304, 1265396, 1338488, 1411579, 1484671, 1557763, 1630854, 1703945, 1777037, 1850128, 1923221, 1996310, 2069402, 2142495, 2215586, 2288678, 2361769, 2434860, 2507952, 2581044, 2654135, 2727227, 2800319, 2873410, 2946501, 3019593, 3092685, 3165775, 3238868, 3311958, 3385050, 3458142, 3531235, 3604325, 3677416, 3750508, 3823600, 3896691]
    hit2 = 1

    国服特色 = 1.067

    形态 = ["白牙", "非白"]

    def 形态变更(self, 形态, char):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "白牙":
            self.hit0 = 1
            self.hit1 = 1
            self.hit2 = 1
        if 形态 == "非白":
            self.hit0 = 0
            self.hit1 = 1
            self.hit2 = 1


class classChange(Character):
    def __init__(self, equVersion=""):
        self.实际名称 = 'spectre'
        self.名称 = '极诣·刃影'
        self.角色 = '鬼剑士(女)'
        self.角色类型 = '输出'
        self.职业 = '刃影'
        self.武器选项 = ['太刀']
        self.输出类型选项 = ['物理固伤']
        self.防具精通属性 = ['力量']
        self.类型 = '物理固伤'
        self.武器类型 = '太刀'
        self.防具类型 = '皮甲'
        技能列表 = []
        技能序号 = {}
        i = 0
        while i >= 0:
            try:
                tem = eval('技能'+str(i)+'()')
                tem.基础等级计算()
                技能序号[tem.名称] = i
                技能列表.append(tem)
                i += 1
            except:
                i = -1
        self.技能栏 = 技能列表
        self.技能序号 = 技能序号
        self.buff = 2.00

        super().__init__(equVersion)
